package com.szosen.database;

import android.database.sqlite.SQLiteDatabase;

import java.util.Map;

import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.AbstractDaoSession;
import de.greenrobot.dao.identityscope.IdentityScopeType;
import de.greenrobot.dao.internal.DaoConfig;

import com.szosen.database.HealthRecord;
import com.szosen.database.jwsjb;
import com.szosen.database.jwsss;
import com.szosen.database.jwssx;
import com.szosen.database.jwsws;
import com.szosen.database.base_info;
import com.szosen.database.Examination;
import com.szosen.database.NonimmuneInoculation;
import com.szosen.database.AccessoryExamination;
import com.szosen.database.HealthAssessment;
import com.szosen.database.LifestySituation;
import com.szosen.database.MedicineSituation;
import com.szosen.database.InhospitalSituation;
import com.szosen.database.OldPeopleSelfCare;
import com.szosen.database.ChineseMedicineManage;
import com.szosen.database.Visit_info;
import com.szosen.database.Visit_info2;
import com.szosen.database.xueya;
import com.szosen.database.xueyang;
import com.szosen.database.tiwen;
import com.szosen.database.xuetang;
import com.szosen.database.niaoye;
import com.szosen.database.xindian;

import com.szosen.database.HealthRecordDao;
import com.szosen.database.jwsjbDao;
import com.szosen.database.jwsssDao;
import com.szosen.database.jwssxDao;
import com.szosen.database.jwswsDao;
import com.szosen.database.base_infoDao;
import com.szosen.database.ExaminationDao;
import com.szosen.database.NonimmuneInoculationDao;
import com.szosen.database.AccessoryExaminationDao;
import com.szosen.database.HealthAssessmentDao;
import com.szosen.database.LifestySituationDao;
import com.szosen.database.MedicineSituationDao;
import com.szosen.database.InhospitalSituationDao;
import com.szosen.database.OldPeopleSelfCareDao;
import com.szosen.database.ChineseMedicineManageDao;
import com.szosen.database.Visit_infoDao;
import com.szosen.database.Visit_info2Dao;
import com.szosen.database.xueyaDao;
import com.szosen.database.xueyangDao;
import com.szosen.database.tiwenDao;
import com.szosen.database.xuetangDao;
import com.szosen.database.niaoyeDao;
import com.szosen.database.xindianDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see de.greenrobot.dao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

	private final DaoConfig healthRecordDaoConfig;
	private final DaoConfig jwsjbDaoConfig;
	private final DaoConfig jwsssDaoConfig;
	private final DaoConfig jwssxDaoConfig;
	private final DaoConfig jwswsDaoConfig;
	private final DaoConfig base_infoDaoConfig;
	private final DaoConfig examinationDaoConfig;
	private final DaoConfig nonimmuneInoculationDaoConfig;
	private final DaoConfig accessoryExaminationDaoConfig;
	private final DaoConfig healthAssessmentDaoConfig;
	private final DaoConfig lifestySituationDaoConfig;
	private final DaoConfig medicineSituationDaoConfig;
	private final DaoConfig inhospitalSituationDaoConfig;
	private final DaoConfig oldPeopleSelfCareDaoConfig;
	private final DaoConfig chineseMedicineManageDaoConfig;
	private final DaoConfig visit_infoDaoConfig;
	private final DaoConfig visit_info2DaoConfig;
	private final DaoConfig xueyaDaoConfig;
	private final DaoConfig xueyangDaoConfig;
	private final DaoConfig tiwenDaoConfig;
	private final DaoConfig xuetangDaoConfig;
	private final DaoConfig niaoyeDaoConfig;
	private final DaoConfig xindianDaoConfig;
	private final DaoConfig xuezhiDaoConfig;
	private final DaoConfig VisitPlanDaoConfig;

	private final HealthRecordDao healthRecordDao;
	private final jwsjbDao jwsjbDao;
	private final jwsssDao jwsssDao;
	private final jwssxDao jwssxDao;
	private final jwswsDao jwswsDao;
	private final base_infoDao base_infoDao;
	private final ExaminationDao examinationDao;
	private final NonimmuneInoculationDao nonimmuneInoculationDao;
	private final AccessoryExaminationDao accessoryExaminationDao;
	private final HealthAssessmentDao healthAssessmentDao;
	private final LifestySituationDao lifestySituationDao;
	private final MedicineSituationDao medicineSituationDao;
	private final InhospitalSituationDao inhospitalSituationDao;
	private final OldPeopleSelfCareDao oldPeopleSelfCareDao;
	private final ChineseMedicineManageDao chineseMedicineManageDao;
	private final Visit_infoDao visit_infoDao;
	private final Visit_info2Dao visit_info2Dao;
	private final xueyaDao xueyaDao;
	private final xueyangDao xueyangDao;
	private final tiwenDao tiwenDao;
	private final xuetangDao xuetangDao;
	private final niaoyeDao niaoyeDao;
	private final xindianDao xindianDao;
	private final xuezhiDao xuezhiDao;
	private final DaoConfig uploadRecordDaoConfig;

	private final UploadRecordDao uploadRecordDao;
	private final VisitPlanDao visitPlanDao;

	public DaoSession(SQLiteDatabase db, IdentityScopeType type,
			Map<Class<? extends AbstractDao<?, ?>>, DaoConfig> daoConfigMap) {
		super(db);

		healthRecordDaoConfig = daoConfigMap.get(HealthRecordDao.class).clone();
		healthRecordDaoConfig.initIdentityScope(type);

		jwsjbDaoConfig = daoConfigMap.get(jwsjbDao.class).clone();
		jwsjbDaoConfig.initIdentityScope(type);

		jwsssDaoConfig = daoConfigMap.get(jwsssDao.class).clone();
		jwsssDaoConfig.initIdentityScope(type);

		jwssxDaoConfig = daoConfigMap.get(jwssxDao.class).clone();
		jwssxDaoConfig.initIdentityScope(type);

		jwswsDaoConfig = daoConfigMap.get(jwswsDao.class).clone();
		jwswsDaoConfig.initIdentityScope(type);

		base_infoDaoConfig = daoConfigMap.get(base_infoDao.class).clone();
		base_infoDaoConfig.initIdentityScope(type);

		examinationDaoConfig = daoConfigMap.get(ExaminationDao.class).clone();
		examinationDaoConfig.initIdentityScope(type);

		nonimmuneInoculationDaoConfig = daoConfigMap.get(
				NonimmuneInoculationDao.class).clone();
		nonimmuneInoculationDaoConfig.initIdentityScope(type);

		accessoryExaminationDaoConfig = daoConfigMap.get(
				AccessoryExaminationDao.class).clone();
		accessoryExaminationDaoConfig.initIdentityScope(type);

		healthAssessmentDaoConfig = daoConfigMap.get(HealthAssessmentDao.class)
				.clone();
		healthAssessmentDaoConfig.initIdentityScope(type);

		lifestySituationDaoConfig = daoConfigMap.get(LifestySituationDao.class)
				.clone();
		lifestySituationDaoConfig.initIdentityScope(type);

		medicineSituationDaoConfig = daoConfigMap.get(
				MedicineSituationDao.class).clone();
		medicineSituationDaoConfig.initIdentityScope(type);

		inhospitalSituationDaoConfig = daoConfigMap.get(
				InhospitalSituationDao.class).clone();
		inhospitalSituationDaoConfig.initIdentityScope(type);

		oldPeopleSelfCareDaoConfig = daoConfigMap.get(
				OldPeopleSelfCareDao.class).clone();
		oldPeopleSelfCareDaoConfig.initIdentityScope(type);

		chineseMedicineManageDaoConfig = daoConfigMap.get(
				ChineseMedicineManageDao.class).clone();
		chineseMedicineManageDaoConfig.initIdentityScope(type);

		visit_infoDaoConfig = daoConfigMap.get(Visit_infoDao.class).clone();
		visit_infoDaoConfig.initIdentityScope(type);

		visit_info2DaoConfig = daoConfigMap.get(Visit_info2Dao.class).clone();
		visit_info2DaoConfig.initIdentityScope(type);

		xueyaDaoConfig = daoConfigMap.get(xueyaDao.class).clone();
		xueyaDaoConfig.initIdentityScope(type);

		xueyangDaoConfig = daoConfigMap.get(xueyangDao.class).clone();
		xueyangDaoConfig.initIdentityScope(type);

		tiwenDaoConfig = daoConfigMap.get(tiwenDao.class).clone();
		tiwenDaoConfig.initIdentityScope(type);

		xuetangDaoConfig = daoConfigMap.get(xuetangDao.class).clone();
		xuetangDaoConfig.initIdentityScope(type);

		niaoyeDaoConfig = daoConfigMap.get(niaoyeDao.class).clone();
		niaoyeDaoConfig.initIdentityScope(type);

		xindianDaoConfig = daoConfigMap.get(xindianDao.class).clone();
		xindianDaoConfig.initIdentityScope(type);
		xuezhiDaoConfig = daoConfigMap.get(xuezhiDao.class).clone();
		xuezhiDaoConfig.initIdentityScope(type);

		VisitPlanDaoConfig = daoConfigMap.get(VisitPlanDao.class).clone();
		VisitPlanDaoConfig.initIdentityScope(type);
		
		healthRecordDao = new HealthRecordDao(healthRecordDaoConfig, this);
		jwsjbDao = new jwsjbDao(jwsjbDaoConfig, this);
		jwsssDao = new jwsssDao(jwsssDaoConfig, this);
		jwssxDao = new jwssxDao(jwssxDaoConfig, this);
		jwswsDao = new jwswsDao(jwswsDaoConfig, this);
		base_infoDao = new base_infoDao(base_infoDaoConfig, this);
		examinationDao = new ExaminationDao(examinationDaoConfig, this);
		nonimmuneInoculationDao = new NonimmuneInoculationDao(
				nonimmuneInoculationDaoConfig, this);
		accessoryExaminationDao = new AccessoryExaminationDao(
				accessoryExaminationDaoConfig, this);
		healthAssessmentDao = new HealthAssessmentDao(
				healthAssessmentDaoConfig, this);
		lifestySituationDao = new LifestySituationDao(
				lifestySituationDaoConfig, this);
		medicineSituationDao = new MedicineSituationDao(
				medicineSituationDaoConfig, this);
		inhospitalSituationDao = new InhospitalSituationDao(
				inhospitalSituationDaoConfig, this);
		oldPeopleSelfCareDao = new OldPeopleSelfCareDao(
				oldPeopleSelfCareDaoConfig, this);
		chineseMedicineManageDao = new ChineseMedicineManageDao(
				chineseMedicineManageDaoConfig, this);
		visit_infoDao = new Visit_infoDao(visit_infoDaoConfig, this);
		visit_info2Dao = new Visit_info2Dao(visit_info2DaoConfig, this);
		xueyaDao = new xueyaDao(xueyaDaoConfig, this);
		xueyangDao = new xueyangDao(xueyangDaoConfig, this);
		tiwenDao = new tiwenDao(tiwenDaoConfig, this);
		xuetangDao = new xuetangDao(xuetangDaoConfig, this);
		niaoyeDao = new niaoyeDao(niaoyeDaoConfig, this);
		xindianDao = new xindianDao(xindianDaoConfig, this);
		xuezhiDao = new xuezhiDao(xuezhiDaoConfig, this);
		visitPlanDao = new VisitPlanDao(VisitPlanDaoConfig, this);

		registerDao(HealthRecord.class, healthRecordDao);
		registerDao(jwsjb.class, jwsjbDao);
		registerDao(jwsss.class, jwsssDao);
		registerDao(jwssx.class, jwssxDao);
		registerDao(jwsws.class, jwswsDao);
		registerDao(base_info.class, base_infoDao);
		registerDao(Examination.class, examinationDao);
		registerDao(NonimmuneInoculation.class, nonimmuneInoculationDao);
		registerDao(AccessoryExamination.class, accessoryExaminationDao);
		registerDao(HealthAssessment.class, healthAssessmentDao);
		registerDao(LifestySituation.class, lifestySituationDao);
		registerDao(MedicineSituation.class, medicineSituationDao);
		registerDao(InhospitalSituation.class, inhospitalSituationDao);
		registerDao(OldPeopleSelfCare.class, oldPeopleSelfCareDao);
		registerDao(ChineseMedicineManage.class, chineseMedicineManageDao);
		registerDao(Visit_info.class, visit_infoDao);
		registerDao(Visit_info2.class, visit_info2Dao);
		registerDao(xueya.class, xueyaDao);
		registerDao(xueyang.class, xueyangDao);
		registerDao(tiwen.class, tiwenDao);
		registerDao(xuetang.class, xuetangDao);
		registerDao(niaoye.class, niaoyeDao);
		registerDao(xindian.class, xindianDao);
		registerDao(xuezhi.class, xuezhiDao);
		registerDao(VisitPlan.class, visitPlanDao);
		uploadRecordDaoConfig = daoConfigMap.get(UploadRecordDao.class).clone();
		uploadRecordDaoConfig.initIdentityScope(type);
		uploadRecordDao = new UploadRecordDao(uploadRecordDaoConfig, this);
		registerDao(UploadRecord.class, uploadRecordDao);
	}

	public void clear() {
		healthRecordDaoConfig.getIdentityScope().clear();
		jwsjbDaoConfig.getIdentityScope().clear();
		jwsssDaoConfig.getIdentityScope().clear();
		jwssxDaoConfig.getIdentityScope().clear();
		jwswsDaoConfig.getIdentityScope().clear();
		base_infoDaoConfig.getIdentityScope().clear();
		examinationDaoConfig.getIdentityScope().clear();
		nonimmuneInoculationDaoConfig.getIdentityScope().clear();
		accessoryExaminationDaoConfig.getIdentityScope().clear();
		healthAssessmentDaoConfig.getIdentityScope().clear();
		lifestySituationDaoConfig.getIdentityScope().clear();
		medicineSituationDaoConfig.getIdentityScope().clear();
		inhospitalSituationDaoConfig.getIdentityScope().clear();
		oldPeopleSelfCareDaoConfig.getIdentityScope().clear();
		chineseMedicineManageDaoConfig.getIdentityScope().clear();
		visit_infoDaoConfig.getIdentityScope().clear();
		visit_info2DaoConfig.getIdentityScope().clear();
		xueyaDaoConfig.getIdentityScope().clear();
		xueyangDaoConfig.getIdentityScope().clear();
		tiwenDaoConfig.getIdentityScope().clear();
		xuetangDaoConfig.getIdentityScope().clear();
		niaoyeDaoConfig.getIdentityScope().clear();
		xindianDaoConfig.getIdentityScope().clear();
		uploadRecordDaoConfig.getIdentityScope().clear();
		xuezhiDaoConfig.getIdentityScope().clear();
		VisitPlanDaoConfig.getIdentityScope().clear();
	}

	public HealthRecordDao getHealthRecordDao() {
		return healthRecordDao;
	}

	public jwsjbDao getJwsjbDao() {
		return jwsjbDao;
	}

	public jwsssDao getJwsssDao() {
		return jwsssDao;
	}

	public jwssxDao getJwssxDao() {
		return jwssxDao;
	}

	public jwswsDao getJwswsDao() {
		return jwswsDao;
	}

	public base_infoDao getBase_infoDao() {
		return base_infoDao;
	}

	public ExaminationDao getExaminationDao() {
		return examinationDao;
	}

	public NonimmuneInoculationDao getNonimmuneInoculationDao() {
		return nonimmuneInoculationDao;
	}

	public AccessoryExaminationDao getAccessoryExaminationDao() {
		return accessoryExaminationDao;
	}

	public HealthAssessmentDao getHealthAssessmentDao() {
		return healthAssessmentDao;
	}

	public LifestySituationDao getLifestySituationDao() {
		return lifestySituationDao;
	}

	public MedicineSituationDao getMedicineSituationDao() {
		return medicineSituationDao;
	}

	public InhospitalSituationDao getInhospitalSituationDao() {
		return inhospitalSituationDao;
	}

	public OldPeopleSelfCareDao getOldPeopleSelfCareDao() {
		return oldPeopleSelfCareDao;
	}

	public ChineseMedicineManageDao getChineseMedicineManageDao() {
		return chineseMedicineManageDao;
	}

	public Visit_infoDao getVisit_infoDao() {
		return visit_infoDao;
	}

	public Visit_info2Dao getVisit_info2Dao() {
		return visit_info2Dao;
	}

	public xueyaDao getXueyaDao() {
		return xueyaDao;
	}

	public xueyangDao getXueyangDao() {
		return xueyangDao;
	}

	public tiwenDao getTiwenDao() {
		return tiwenDao;
	}

	public xuetangDao getXuetangDao() {
		return xuetangDao;
	}

	public niaoyeDao getNiaoyeDao() {
		return niaoyeDao;
	}

	public xindianDao getXindianDao() {
		return xindianDao;
	}

	public UploadRecordDao getUploadRecordDao() {
		return uploadRecordDao;
	}

	public xuezhiDao getXuezhiDao() {
		return xuezhiDao;
	}
	public VisitPlanDao getVisitPlanDao() {
		return visitPlanDao;
	}

}
